from scapy.all import IPv6, ICMPv6EchoRequest, fragment6, send

# 目标 IPv6 地址
src_ipv6 = '2017:28::6'
target_ipv6 = 'ff05::2'

# Ping 数据包大小，确保大于 MTU（一般 IPv6 的最小 MTU 为 1280 字节），这里假设为 1.jpg
ping_payload_size = 1452 

# 构造一个带有大尺寸数据的 ICMPv6 Echo Request
ping_pkt = IPv6(src = src_ipv6, dst=target_ipv6) / ICMPv6EchoRequest() / ('a' * ping_payload_size)

# 对数据包进行分片（假设 MTU 为 1280 字节，实际应用中应根据实际网络情况设定）
fragments = fragment6(ping_pkt, fragSize=1280)  # 设置适当的 Hop Limit 值

# 发送所有分片
for frag in fragments:
    send(frag, iface='ens36', verbose=False)
